/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author diego
 */
@Entity
@Table(name = "Asistencia")
public class Asistencia implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Basic(optional = false)
    @Column(name = "idAsistencia")
    private Integer idAsistencia;
    @Column(name = "fechaEntradaAsistencia")
    @Temporal(TemporalType.DATE)
    private Date fechaEntradaAsistencia;
    @Column(name = "fechaSalidaAsistencia")
    @Temporal(TemporalType.DATE)
    private Date fechaSalidaAsistencia;
    @Column(name = "hsEntrada")
    @Temporal(TemporalType.TIME)
    private Date hsEntrada;
    @Column(name = "hsSalida")
    @Temporal(TemporalType.TIME)
    private Date hsSalida;
    @Column(name = "observacion")
    private String observacion;
    @JoinColumn(name = "idEmpleado", referencedColumnName = "idEmpleado")
    @ManyToOne(optional = false)
    private Empleado idEmpleado;

    public Asistencia() {
    }

    public Asistencia(Integer idAsistencia) {
        this.idAsistencia = idAsistencia;
    }

    public Integer getIdAsistencia() {
        return idAsistencia;
    }

    public void setIdAsistencia(Integer idAsistencia) {
        this.idAsistencia = idAsistencia;
    }

    public Date getFechaEntradaAsistencia() {
        return fechaEntradaAsistencia;
    }

    public void setFechaEntradaAsistencia(Date fechaEntradaAsistencia) {
        this.fechaEntradaAsistencia = fechaEntradaAsistencia;
    }

    public Date getFechaSalidaAsistencia() {
        return fechaSalidaAsistencia;
    }

    public void setFechaSalidaAsistencia(Date fechaSalidaAsistencia) {
        this.fechaSalidaAsistencia = fechaSalidaAsistencia;
    }

    public Date getHsEntrada() {
        return hsEntrada;
    }

    public void setHsEntrada(Date hsEntrada) {
        this.hsEntrada = hsEntrada;
    }

    public Date getHsSalida() {
        return hsSalida;
    }

    public void setHsSalida(Date hsSalida) {
        this.hsSalida = hsSalida;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public Empleado getIdEmpleado() {
        return idEmpleado;
    }

    public void setIdEmpleado(Empleado idEmpleado) {
        this.idEmpleado = idEmpleado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idAsistencia != null ? idAsistencia.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Asistencia)) {
            return false;
        }
        Asistencia other = (Asistencia) object;
        if ((this.idAsistencia == null && other.idAsistencia != null) || (this.idAsistencia != null && !this.idAsistencia.equals(other.idAsistencia))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return fechaEntradaAsistencia.toString();
    }
}
